home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / MacMETH 3.2.4 / Examples / RandomNumbers.MOD < prev    next >
Text File  |  1996-06-20  |  522b  |  26 lines

  1. IMPLEMENTATION MODULE RandomNumbers;  
  2.  
  3. IMPORT MathLib;
  4.  
  5.   VAR Z: LONGINT;
  6.  
  7.   PROCEDURE Uniform(): REAL;
  8.   CONST a = 16807D;    m = 2147483647D;     
  9.         q = m DIV a;    r = m MOD a;
  10.   VAR g: LONGINT;
  11.   BEGIN    g := a*(Z MOD q) - r*(Z DIV q);
  12.       IF g > 0D THEN Z := g ELSE Z := g + m END;
  13.       RETURN FLOAT(Z)*(1.0/FLOAT(m))
  14.   END Uniform;
  15.  
  16.   PROCEDURE Exp(mu: REAL): REAL;
  17.   BEGIN RETURN -MathLib.Ln(Uniform())/mu
  18.   END Exp;
  19.  
  20.   PROCEDURE InitSeed(seed: LONGINT);
  21.   BEGIN    Z := seed
  22.   END InitSeed;
  23.  
  24. BEGIN    Z := 1
  25. END RandomNumbers.
  26.